// const colors = require('colors');
// // const amqp = require('amqp-connection-manager');
// const config = require('../../config/config');
// const conn = amqp.connect(['amqp://' + config.log.rabbit_mq.ip]);
// const moment = require('moment');
// const fs = require('fs');
const Log = require('../../model/Log')
// conn.on('connect', () => {
//     console.log('Connected!');
// });
//
// conn.on('disconnect', (params) => {
//     console.log('Disconnected.', params.err.stack);
// });

// const channelWrapper = conn.createChannel({
//     json: true,
//     setup: function (channel) {
//         return channel.assertQueue(config.log.rabbit_mq.logger_queue_name, {durable: false})
//     }
// });

// const sendMessage = function (message) {
//     channelWrapper.sendToQueue(config.log.rabbit_mq.logger_queue_name, message)
//         .then(() => {
//             console.log('[C]send message:' + JSON.stringify(message))
//         })
//         .catch(err => {
//             fs.appendFile('./error.txt', JSON.stringify(message) + '\n' + err + '\n\n', (err) => {
//                 if (err) console.log(err.red);
//             })
//         })
// };

// const consoleLocal = function (env, logger, level) {
//
//     if (!env || env == 'development' || env == 'local') {
//         switch (level) {
//             case 'info' : {
//                 console.log(JSON.stringify(logger).blue);
//                 break
//             }
//             case 'error': {
//                 console.log(JSON.stringify(logger).red);
//                 break
//             }
//             default: {
//                 console.log(JSON.stringify(logger).red);
//             }
//         }
//     }
// }

// const env = process.env.NODE_ENV
//
// //persistence 是否存储到db
// function Logger(level, exec_info, meta_data, persistence) {
//     this.app_id = config.app_id;
//     this.app_name = config.app_name;
//     this.level = level;
//     this.exec_info = exec_info || '';
//     this.meta_data = meta_data || '';
//     this.created_at = moment(new Date()).format('YYYY-MM-DD HH:mm:SS');
//     this.persistence = persistence || false;
// }
//
// function info(exec_info, meta_date, persistence) {
//     let logger = new Logger('info', exec_info, meta_date, persistence);
//     consoleLocal(env,logger,'info')
//     if (logger.persistence === true) {
//         sendMessage(logger);
//     }
// }
//
// function error(exec_info, meta_date, persistence) {
//     if (persistence === undefined) {
//         persistence = true;
//     }
//     let logger = new Logger('error', exec_info, meta_date, persistence);
//     consoleLocal(env,logger,'error')
//     if (logger.persistence === true) {
//         sendMessage(logger);
//     }
// }

function info(exec_info, meta_data) {

    new Log({
        exec_info:exec_info,
        meta_data:meta_data
    }).save();

}
//
//
module.exports = {
    info,
    // error
};

